package demo03;

/*
 *  含有泛型的接口的第二种使用方式：接口使用什么泛型，实现类就使用什么泛型，类跟着接口走
 *  相当于定义了一个含有泛型的类，创建对象的时候确定泛型的类型
 *  public interface List<E> {
 *      boolean add(E e);
 *      E get(int index);
 *  }
 *  ArrayList类实现了List接口，未指定接口的泛型，而是继续沿用该泛型，让创建该对象的人去指定该泛型
 *  public class ArrayList<E> implements List<E> {
 *      public boolean add(E e) {}
 *      public E get(int index) {}
 *  }
 */
public class GenericInterfaceImpl2<I> implements GenericInterface<I> { // 实现类继续沿用接口泛型
    @Override
    public void method(I i) { // 重写方法实现接口，原来的泛型位置还是使用泛型
        System.out.println(i);        
    }
}
